#pragma once

#include <vector>
#include <fstream>
#include <iostream>
#include <string>

struct cImage
{
	float image_id;
	float image_x;
	float image_y;
	float image_w;
	float image_h;
	float image_velocity;
	float image_possition_x;
	float image_possition_y;
	float image_possition_width;
	float image_possition_height;
};

class Sprite
{
public:

	Sprite(void);
	~Sprite(void);
	void loadFile(char*);

	int** getSprite()
	{
		return sprite;
	}

	int getNumSprite()
	{
		return m_numSprite;
	}
	cImage* getSpriteImage()
	{
		return m_Sprite;
	}
	std::string getNameTexture()
	{
		return nameTexture;
	}

	void setDrawingCoordinates(int &_x, int &_y, int &_widht, int &_height, int &_id)
	{
		m_Sprite[_id].image_possition_x = _x;
		m_Sprite[_id].image_possition_y = _y;
		m_Sprite[_id].image_possition_width = _widht;
		m_Sprite[_id].image_possition_height = _height;

	}
	void print();

protected:
private:

	cImage* m_Sprite;

	int* m_Animation;
	int m_numSprite;
	std::string nameTexture;
	int **sprite;
	char m_recycle;
};